package edu.core;

import java.text.DecimalFormat;
import java.util.List;

/**
 * 字符操作共通类.
 *
 * @author weidong
 * 
 */
public class StringUtil {
	/**
	 * 将数组中的字符串转换成可供子查询的字符串,格式: '1','2','3','4'.
	 * 
	 * @param ids
	 * @return 指定格式的字符串
	 * @author weidong
	 */
	public static final String changeIdsArrToSubQueryStr(String[] ids) {
		String tempStr = "";
		if (ids == null || "".equals(ids)) {
			return "''";
		}
		for (int i = 0; i < ids.length; i++) {
			if (i != ids.length - 1) { // 需要加,
				tempStr = tempStr + "'" + ids[i] + "',"; 
			} else {
				tempStr = tempStr + "'" + ids[i] + "'";
			}
		}
		return tempStr;
	}
	
	/**
	 * 将集合中的字符串转换成可供子查询的字符串,格式: 1,2,3,4
	 * 
	 * @param idsLst 存放ID的集合
	 * @return 指定格式的字符串
	 * @author weidong
	 */
	public static final String changeIdsListToSubQueryStr(List idsLst){
		String tempStr = "";
		for(int i = 0; i < idsLst.size(); i++){
			if(i != idsLst.size() - 1){ // 需要加,
				tempStr = tempStr + "'" + idsLst.get(i) + "',"; 
			} else {
				tempStr = tempStr + "'" + idsLst.get(i) + "'";
			}
		}
		if("".equals(tempStr)) {
			return "''";
		}
		return tempStr;
	}
	
	/**
	 * 判断字符串是否为空或NULL.
	 *
	 * @param str
	 * @author weidong
	 */
	public static boolean isEmpty(String str){
		return str == null || "".equals(str.trim()) || "null".equals(str.trim());
	}
	
	public static boolean isNotEmpty(String str){
		return !isEmpty(str);
	}
	
	
	/**
	 * 判断字符串数组是否为空或NULL.
	 *
	 * @param str
	 * @author weidong
	 */
	public static boolean isStrArrEmpty(String[] arr) {
		if (arr == null || arr.length == 0) { // 为空
			return true;
		} else {
			return false;
		}
	}
	
	/**
	 * 小数格式化.
	 *
	 * @param f
	 *            要格式化的数字
	 * @param targetLen
	 *            需要格式化的位数
	 * @author weidong
	 */
	public static String formatFloatNum(Float f, Integer targetLen) {
		DecimalFormat format = null;
		if(targetLen == 0){ // 格式化为整数
			format = new DecimalFormat("#");
		} else {
			String s = "";
			for(int i=0;i<targetLen;i++){
				s += "#";
			}
			format = new DecimalFormat("#." + s);
		}
		return format.format(f); 
	}
}
